"ACreates a new date/time object which contains all the date/time components of the current time and returns a handle id& for it.
Example: Timing a loop
start&=DTNow&:
WHILE condition
ENDWH
end&=DTNow&:
PRINT
Time to do loop was
,DTMicrosDiff&:(start&,end&)
See DTNEWDATETIME&:.
Table1
ColA9
ColB9
ColA10
ColB10
ColA11
ColB11
Index1
ColA9
BCreates a new date/time object which contains all the supplied date/time components and returns a handle id& for it.
The year is stored as the usual four figure year, e.g. 1997.
The month is stored as 1 for January, 2 for February, etc.
The day is stored as the day number in the month.
The hour is the hour of the day in 12 or 24 hour clock according to the system setting.
The minutes, seconds and microseconds are stored as the usual values 0 to 59 for minutes and seconds and 0 to 999 for microseconds.
See DTDELETEDATETIME:.
ASets the machine
s auto switch off behaviour.
behavior&=0 disables the machine
s auto switch off mechanism.
behavior&=1 sets the machine auto switch off to occur only when its batteries are low.
behavior&=2 sets the machines auto switch off to occur always.
BReturns the week number in the year of the date/time object with handle id&. The first day of the year is specified by the date/time object with handle yearstart&. This would usually be set to 1 January in the appropriate year, but also allows you to set the star of the year to the beginning of the financial year or the academic year, for example.
rule& can take three values (0,1,2), allowing the week number to be calculated by one of three different rules:
value meaning
0 the first day of the year is always in week one,
1 requires the first week of the year to have at least four days in it,
2 requires the first week of the year to have the full seven days.
The Agenda application and other Series 5 applications use the rule with value 1 by default.
LCAmPmSpaceBetween&: _SysRAM1VReturns -1 if locally there should be a space between the time and AM/PM or 0 if not.
s batteries are low.
behavior&=2 sets the machines auto switch off to occur always.
See DTNEWDATETIME&:.
DTMINUTE&: _Date
m&=DTMINUTE&:(id&)oReturns the minutes component m& which is stored in the date/time object with handle id&.
See DTNEWDATETIME&:.
DTSECOND&: _Date
s&=DTSECOND&:(id&)oReturns the seconds component s& which is stored in the date/time object with handle id&.
See DTNEWDATETIME&:.
DTMICRO&: _Date
m&=DTMICRO&:(id&)tReturns the microseconds component m& which is stored in the date/time object with handle id&.
See DTNEWDATETIME&:.
DTSETYEAR: _Date
DTSETYEAR:(y&,id&)lSets the year component which is stored in the date/time object with handle id& to y&.
See DTNEWDATETIME&:.
DTSETMONTH: _Date
DTSETMONTH:(m&,id&)mSets the month component which is stored in the date/time object with handle id& to m&.
See DTNEWDATETIME&:.
DTSETDAY: _Date
DTSETDAY:(day&,id&)mSets the day component which is stored in the date/time object with handle id& to day&.
See DTNEWDATETIME&:.
DTSETHOUR: _Date
DTSETHOUR:(h&,id&)lSets the hour component which is stored in the date/time object with handle id& to h&.
See DTNEWDATETIME&:.
DTSETMINUTE: _Date
DTSETMINUTE:(m&,id&)oSets the minutes component which is stored in the date/time object with handle id& to m&.
See DTNEWDATETIME&:.
DTSETSECOND: _Date
DTSETSECOND:(s&,id&)oSets the seconds component which is stored in the date/time object with handle id& to s&.
See DTNEWDATETIME&:.
DTSETMICRO: _Date
DTSETMICRO:(m&,id&)tSets the microseconds component which is stored in the date/time object with handle id& to m&.
Calculates the exact difference between two date/time objects with handles start& and end& in the form of a date/time object. The difference is returned in the variables year&, month& etc.
Returns the difference diff& in whole hours between the two date/time objects with handles start& and end&.
See DTNEWDATETIME&:.
ASets the current process active if state&=1 or not active if state&=0. This will determine whether or not the machine can automatically turn off when the user is not using the machine: if the process is active then the machine will not automatically turn off.
AReturns the time that the file, file$, was last modified into dateTimeId&. It is necessary to pass this procedure the ID of a date/time object which the procedure will then set to the required time. To obtain and read a date/time object, see the
Date OPX
section.
Table1
Proc:
Usage:
Info:
en days.
The Agenda application and other Series 5 applications use the rule with value 1 by default.
Returns the day number in the year of the date/time object with handle id&. The first day of the year is specified by the date/time object with handle yearstart&.
DTDAYNOINWEEK&: _Date
n&=DTDAYNOINWEEK&:(id&)RReturns the day number in the week (1-7) of the date/time object with handle id&.
DTDAYSINMONTH&: _Date
n&=DTDAYSINMONTH&:(id&)
Returns the number of days in the month of the month specified by the month component of the date/time object with handle id&.
DTSETHOMETIME: _Date
DTSETHOMETIME:(id&)TSets the system time to the time specified in the date/time object with handle id&.
LCCOUNTRYCODE&: _Date
cc&=LCCOUNTRYCODE&:
Returns the country code for the current system home country (LC stands for
Locale
), which may be used to select country-specific data. The country code for any given country is the international dialling prefix for that country
LCDECIMALSEPARATOR$: _Date
decSep$=LCDECIMALSEPARATOR$:
Returns the decimal separator (the character used in decimal numbers to separate whole part from fractional part) according to the local system setting.
LCSETCLOCKFORMAT: _Date
LCSETCLOCKFORMAT:(format&)
Sets the system clock format to either digital or analog. If format&=0 then the clock is set to analog or if it is 1 then the clock is set to digital.
LCCLOCKFORMAT&: _Date
format&=LCCLOCKFORMAT&:wReturns the current system clock format The procedure returns 0 if the system clock is analog and 1 if it is digital.
LCSTARTOFWEEK&: _Date
start&=LCSTARTOFWEEK&:
Returns the day of the week which set as the first day of the week in the system setting. A return value of 1 indicates Monday, 2 Tuesday, and so on.
LCTHOUSANDSSEPARATOR$: _Date
thouSep$=LCTHOUSANDSSEPARATOR$:
Returns the thousands separator (the character used to separate every three digits of a large number) according to the local system setting.
BACKLIGHTON&: _System
backLight&=BACKLIGHTON&:GReturns -1 if the backlight is switched on or 0 if it is switched off.
SETBACKLIGHTON: _System
SETBACKLIGHTON:(state&):Switches the backlight on if state&=1 or off if state&=0.
ASets the time that the file, file$, was last modified to dateTimeId&. It is necessary to pass this procedure the ID of a date/time object which the procedure will use to set the time. To get a date/time object, which provides microsecond accuracy, see the
Date OPX
section.
ocess active if state&=1 or not active if state&=0. This will determine whether or not the machine can automatically turn off when the user is not using the machine: if the process is active then the machine will not automatically turn off.
6BReturns the media type present on the drive specified by drive&. drive& can take values 0 to 25. 0 specifies the A:, 1 specifies B:, 2 specifies C: and so on. The value returned may be any of the following,
value meaning constant declaration in System.oxh
0 no media present CONST KMediaNotPresent&=0
1 media unknown CONST KMediaUnknown&=1
2 floppy disk CONST KMediaFloppy&=2
3 hard disk CONST KMediaHardDisk&=3
4 CD-ROM CONST KMediaCdRom&=4
5 RAM CONST KMediaRam&=5
6 flash CONST KMediaFlash&=6
7 ROM CONST KMediaRom&=7
8 remote CONST KMediaRemote&=8
APlays the file file$, which may be a sound file or an alarm file. Does not return until the sound has completed.
volume& specifies the volume at which the file should be played, 0 specifies no volume and 3 specifies maximum volume. The play will be synchronous (i.e. the OPL program will stop running until the file has finished playing). For asynchronous sound playing see PLAYSOUNDA:.
a date/time object which the procedure will use to set the time. To get a date/time object, which provides microsecond accuracy, see the
Date OPX
section.
8EChanges the priority control for the current program.
This puts the current process into compute mode (state&=KComputeModeOn&) or takes it out of compute mode (state&=KComputeModeOff&). In compute mode, a process runs at the lower background priority even when it is the foreground process. Disabling compute mode control (state&=KComputeModeDisabled&) prevents the window server from changing the program
s priority when it moves between background and foreground.
OPL runs in compute mode by default to support simple OPOs which cannot always be assumed to be well-behaved programs.
This default behaviour is necessary because OPL programs would not otherwise give any background programs a chance to run, simply by running in a tight loop. If your program doesn
t run in a tight loop, i.e. if it calls GETEVENT32, GET, etc. regularly, you can use SETCOMPUTEMODE:(KComputeModeOff&).
Note that TBarInit: in Toolbar.opo sets compute mode off, since any program that has a toolbar shouldn
t be running in a tight loop at any time. (See the
Friendlier Interaction
chapter for more details.)
CRuns an application and returns a thread ID for the application. The thread ID can be used to logon to the application, to find out when and why it finished. This ID can also be used to locate the window group, end the task etc.
lib$ is the C++ application name.
doc$ is the document name, if any, to pass to the application.
tail$ is the tail end, needed only by certain applications such as OPL.
cmd& can take values:
value meaning
0 open
1 create
2 run
3 background
The values 0, 1 and 2 are the same as for CMD$(3) (see the
Alphabetic Listing
chapter). The value 3 will run the application in the background.
For example, to run an OPL program:
k&=RUNAPP&:(
RZ:\System\Opl\Toolbar.opo
Note that tail$ contains a leading R: this is required by OPL.
To open the Data help file:
k&=RUNAPP&:(
Z:\System\Data\Help
See also the
OPL Applications
section in the
Advanced Topics
chapter.
See LOGONTOTHREAD:.
<ASends a key event to the window group (application) that follows the window group with ID previous& (or the first window group if previous&=0), in the thread with ID threadId&. The key event is specified by code&, scanCode&, modifiers& and repeats&.
The value returned is the window group to which the key was sent.
s finished playing). For asynchronous sound playing see PLAYSOUNDA:.
,BPlays the file file$, which may be a sound file or an alarm file, asynchronously. It returns immediately, with the status word being set on completion or cancellation of the sound.
volume& specifies the volume at which the file should be played, 0 specifies no volume and 3 specifies maximum volume. The play will be asynchronous (i.e. the OPL program will continue running while the sound file is playing). statusWord& is the variable which will contain information about the state of the sounds file play. For synchronous sound playing see PLAYSOUND:.
OBReturns the exclusive OR of left& and right&. A bit in the result has value 1 if the corresponding bit is set in either left& or in right&, but not in both, otherwise it is 0.
E.g. with left&=5 (binary 00000101) and right&=3 (binary 00000011), XOR&:(left&,right&) returns 6 (binary 00000110).
left& 00000101
right& 00000011
----------------------------------------------
XOR&:(left&,right&) 00000110
This is often used to invert particular bits in an integer. So left&=XOR&:(left&,3) inverts bits 0 and 1 in left&, where bit 0 is the rightmost bit, and leaves the other bits alone.
AEnables (or disables) pointer grabs in a window. After this function has been called with state&=1, any
event in this window will cause a pointer grab, terminated by the next corresponding
event. The terminating
event is also sent to the window with the grab.
This function would typically be used for
drag-and-drop
, and would typically be called after window creation so that pointer grab is enabled for the lifetime of the window.
state&=0 disables the grab.
See CLAIMPOINTERGRAB:.
ASends a string chunk$ via infrared to another device after connection has been made. The procedure is asynchronous and the success of sending the string is reported in statusW&.
See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDAREAD;, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
ow group to which the key was sent.
on in the
Advanced Topics
chapter.
See LOGONTOTHREAD:.
SETREADONLY: _System
SETREADONLY:(file$,state&)PSets the file, file$, to be read only if state&=1 or not read-only if state&=0.
SETHIDDENFILE: _System
SETHIDDENFILE:(file$,state&)^Sets the file, file$, to be hidden by the system if state&=1 or not to be hidden if state&=0.
SETSYSTEMFILE: _System
SETSYSTEMFILE:(file$,state&)^Sets the file, file$, to be a system file if state&=1 or not to be a system file if state&=0.
VOLUMESIZE&: _System
VOLUMESIZE&:(drive&)
Returns the size in bytes of the storage space on the drive specified by drive&. drive& can take values 0 to 25. 0 specifies the A:, 1 specifies B:, 2 specifies C: and so on.
VOLUMESPACEFREE&: _System
free&=VOLUMESPACEFREE&:(drive&)
Returns the size in bytes of the storage space that is available for use on the drive specified by drive&. drive& can take values 0 to 25. 0 specifies the A:, 1 specifies B:, 2 specifies C: and so on.
Returns the unique identification number of the media on the drive specified by drive&. drive& can take values 0 to 25. 0 specifies the A:, 1 specifies B:, 2 specifies C: and so on.
See MEDIATYPE&:.
MEDIATYPE&: _System
media&=MEDIATYPE&:(drive&)
GETFILETIME: _System
GETFILETIME:(file$,dateTimeId&)
SETFI
LETIME: _System
SETFILETIME:(file$,dateTimeId&)
DISPLAYTASKLIST: _System
DISPLAYTASKLIST:lDisplays the system-wide task list. The user may then close a file, go to another task or close the dialog.
Runs an executable EXE file file$ and returns its thread ID. The thread ID can then be used to logon to the thread and find out when and why it finished.
Logs on to the thread with ID threadId& and sets the status word statusWord& when the thread has completed. As for other 32-bit status words, statusW& will be set to &80000001 for pending and 0 for successful completion.
5 TERMINATECURRENTPROCESS: _System
TERMINATEPROCESS:(reason&)
Terminates the current process giving it the reason reason&. This causes the process to receive a shutdown message. reason& may take any value, with zero used to mean no errors.
Terminates the process proc$ giving it the reason reason&. This causes the process to receive a shutdown message. reason& may take any value, with zero used to mean no errors.
BSends a shutdown message to a window group in the thread, threadId&.
previous& specifies the window group in the thread that is previous to the one required. Hence, setting previous& to 0 will specify the first window group in the thread.
The value returned by this procedure is the value of the window group on which action was taken, or -1 if a window group following that specified by previous& was not present. This return value could be passed back to this procedure to end the next window group in the thread.
An error will be raised if the window group is busy, does not respond to such requests or is in a system thread.
See KILLTASK&:.
KILLCURRENTPROCESS: _System
KILLCURRENTPROCESS:(reason&)
Kills the current process giving it the reason reason&. The process is killed without receiving a shutdown message. reason& may take any value, with zero used to mean no errors.
KILLPROCESS: _System
KILLPROCESS:(proc$,reason&)
Kills the process proc$ giving it the reason reason&. The process is killed without receiving a shutdown message. reason& may take any value, with zero used to mean no errors.
MACHINEUNIQUEID: _System(MACHINEUNIQUEID:(BYREF high&,BYREF low&)_Sets high& and low& (which are passed BYREF) to high and low parts of the machine's unique ID.
AShuts down the window group that follows the window group specified by previous& in the thread, threadId&. It will ignore any wishes of the window group not to be shutdown.
The value returned by this procedure is the value of the window group on which action was taken, or -1 if a window group following that specified by previous& was not present. This return value could be passed back to this procedure to end the next window group in the thread.
See ENDTASK&:.
BReturns the thread ID threadId& of the thread that contains the open document doc$.
doc$ should contain the full path of the open document and could for example be c:\opl\prog.opo.
previous&, passed by reference, is useful for situations where the document may be open more than once. Setting previous& to zero will cause this procedure to find the first window group that contains doc$. If one is found, previous& will be set to the window group value of that found document. This value could then passed back to this procedure as previous&, so the next window group instance of doc$ will be found, and so on. If this procedure sets previous& to -1 then doc$ could not be found after previous&. An error will also be raised if the open document is not found.
BReturns the thread ID threadId& of the thread that contains a running instance of the application with UID uid&.
previous&, passed by reference, is useful for situations where the application may be running more than once. Setting previous& to zero will cause this procedure to find the first window group that is an instance of this application. If one is found, previous& will be set to the value of that window group. This value could then passed back to this procedure as previous&, so the next instance of the application can be found, and so on. If no instance of this application can be found following previous& then previous& will be set to -1. An error will also be raised if a running instance of the application is not found.
AMoves the window group after previous& in the thread threadId& to foreground. Using previous&=0 specifies the first window group in the thread.
The value returned will be the window group on which action was taken, or -1 if the following window group was not found. This return value could be passed back to this procedure as previous& to put the next window group in threadId& to foreground.
See SETBACKGROUNDBYTHREAD&:.
AMoves the window group after previous& in the thread threadId& to background. Using previous&=0 specifies the first window group in the thread.
The value returned will be the window group on which action was taken, or -1 if the following window group was not found. This return value could be passed back to this procedure again as a value for previous& to put the next window group in threadId& to background.
See SETFOREGROUNDBYTHREAD&:.
DSynchronously sends out an infrared (IR) beam which looks for another infrared device. If another infrared device is looking to receive a beam then the devices will connect, otherwise this procedure will raise an error after a couple of seconds.
protocol$ can take either of the constants defined in System.oxh. These are KIrTinyTP$, used for communicating with other EPOC32 devices and KIrmux$ which is used for IR printing.
The value 8 is recommended for port& when communicating with other EPOC32 devices. Both devices will need to be using the same value for port&. port& must be 2 for connecting to IR printers.
If connecting to another EPOC32 device with this procedure the other device must connect by using IRDACONNECTTORECEIVE&:.
After connecting to another EPOC32 device you can both send and receive information.
After connecting to an IR printer use IRDAWRITE: to send text. When IRDADIASCONNECT: is called the printer will begin printing.
See IRDACONNECTTORECEIVE:, IRDAWRITE:, IRDAREAD:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
BAsynchronously waits, without timing-out, for another EPOC32 device to attempt to connect via infrared (IR). This procedure takes the status word statusW&. When connection occurs the status word is set to zero.
Both EPOC32 devices must be using the same port which is specified by port&. The recommended port is 8.
One of the devices must connect with this procedure and the other with IRDACONNECTTOSEND&.
protocol$ specifies the IR protocol and should take the constant KIrTinyTP$, defined in System.oxh, when communicating with other EPOC32 devices.
After connecting to another EPOC32 device you can both send and receive information.
See IRDAWRITE:, IRDAREAD:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
AAppends a scaled bitmap specified by bitmapHandle& and scaled according to xScale& and yScale& to the buffer sent to the printer. The handle is the same as that returned by gLOADBIT. Default scaling is xScale& = yScale& = 1000.
See SENDBITMAPTOPRINTER:, INSERTSCALEDBITMAP:.
jAReads a text string via infrared from another device after connection has been made. The procedure is asynchronous with status word statusW&. The string passed by address should have a maximum length of 255 bytes. To pass a string by address use, ADDR(string$).
See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDWRITE:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
^AVerifies, when disconnecting from another IR device, that the other device has received everything sent. It should therefore be called by the device that last sends some information.
This procedure should not be used with printers: use IRDADISCONNECT: instead.
See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
Returns the name of the window group that follows the window group previous& in the thread threadId&. If previous&=0 the procedure will return the name of the first window group found.
Returns the ID of the window group that follows the window group previous& in the thread threadId&. If previous& is 0 the procedure will return the ID of the first window group found.
ADisconnects from another IR device. It should be called by the device that is the last to receive some information. IRDAWAITFORDISCONNECT: is used by the last device to send some information, except when printing via IR when IRDADISCONNECT: should be used to disconnect from the printer and commence printing.
See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
lDAllows the program that calls it to capture keys when it is not in foreground. The keys to be captured are specified using keycode&, mask& and modifier&. The value returned is a handle which can be passed to CANCELCAPTUREKEY: to cancel the capture.
The following constants are supplied in System.oxh to be used in conjunction with this procedure:
CONST KModifierAutorepeatable&=&00000001
CONST KModifierKeypad&=&00000002
CONST KModifierLeftAlt&=&00000004
CONST KModifierRightAlt&=&00000008
CONST KModifierAlt&=&00000010
CONST KModifierLeftCtrl&=&00000020
CONST KModifierRightCtrl&=&00000040
CONST KModifierCtrl&=&00000080
CONST KModifierLeftShift&=&00000100
CONST KModifierRightShift&=&00000200
CONST KModifierShift&=&00000400
CONST KModifierLeftFunc&=&00000800
CONST KModifierRightFunc&=&00001000
CONST KModifierFunc&=&00002000
CONST KModifierCapsLock&=&00004000
CONST KModifierNumLock&=&00008000
CONST KModifierScrollLock&=&00010000
CONST KModifierKeyUp&=&00020000
CONST KModifierSpecial&=&00040000
CONST KModifierDoubleClick&=&00080000
CONST KModifierPureKeycode&=&00100000
CONST KAllModifiers&=&001fffff
See CANCELCAPTUREKEY&:.
iCSets the (OPL) window with window ID winId& to capture pointer events.
flags& can take a summed combination of the following:
value meaning
0 capture disabled
&01 capture enabled
&02 capture (not drag-and-drop)
When a window captures pointer events, the position of any events received will be relative to its origin, i.e. the top left corner of that window, i.e. the window
s 0,0 co-ordinate becomes the origin for pointer events. Events don
t need to be inside the window to be registered. For example, if the screen was touched 1 pixel above and 1 pixel to the left of a window that was capturing pointer events, the pointer event would be returned with the position of the event being -1,-1 .
Capture (not drag-and-drop)
will cause events of the
drag-and-drop
nature to be sent to the window that would have received them had the pointer not been captured..
CClaims the pointer grab for the window with ID winId& from another window, if a pointer grab is already in effect in the other window. All subsequent events will be delivered to this window, instead of the window that originally had the pointer grab. The next
event terminates the pointer grab, and is also delivered to the window that claimed the grab, if state& is set to 1.
This function would typically be used where clicking in a window pops up another window, and where the popped-up window wishes to grab the pointer as though the original click had been in that window.
To summarise the values of state& for the OPL window,
value meaning
0 don't deliver the following
event to this window
1 deliver the following
event to this window
See SETPOINTERGRABON:
WCDisplays the standard
Open file
dialog. seedFile$ provides a starting file which is displayed when the dialog is opened. So, for example, if seedFile$=
C:\Documents\Myfile
then the file MyFile will be initially displayed in the
selector box, the Documents folder will be initially displayed in the
Folder
selector box and C will be displayed in the disk selector. You must always seed the dialog: you cannot pass a null seedFile$ string to OPENFILEDIALOG$:. If seedFile$ does not include a drive name, then an error is raised.
The selection of files may be restricted by UID by specifying appropriate values for uid1&, uid2& and uid3& in exactly the same way as when using the dFILE keyword. See the
Alphabetic Listing
section for details of this.
The return value is the filename, including the full path of the file selected to be opened.
BDisplays the standard
Create new file
dialog. seedPath$ provides a starting path which is displayed when the dialog is opened. So, for example, if seedPath$=
C:\Documents\
then the Documents folder will be intially displayed in the
Folder
selector box and C in the disk selector. If you supply a filename in seedPath$, then this will be displayed as a suggested filename in the
selector box. You must always seed the dialog: you cannot pass a null seedPath$ string to CREATEFILEDIALOG$:. If seedPath$ does not include a drive name, then an error is raised.
The return value is the filename, including the full path of the file to be created.
@Displays the standard
Save as
dialog. seedPath$ provides a starting path which is displayed when the dialog is opened. So, for example, if seedPath$=
C:\Documents\
then te
he Documents folder will be initially displayed in the
Folder
selector box and C in the disk selector. If you supply a filename in seedPath$, then this will be displayed as a suggested filename in the
selector box. You must always seed the dialog: you cannot pass a null seedPath$ string to SAVEASFILEDIALOG$:. If seedPath$ does not include a drive name, then an error is raised.
UseNewFile% specifies the initial setting of the checkbox which determines whether a new file should be used when saving. This value is non-zero then the tick will be set initially, if it is zero, then it will not be. The procedure writes back a value to this variable which will be KTrue% if the symbol is set on exiting the dialog and KFalse% if not (see the listing of Const.oph in Appendix E for definitions of these constants). If you pass #0 as the value of this argument, then this item will not be displayed in the dialog at all (as in many Series 5 applications) so that whether a new file is used on not is not decided by the user, but by the programmer.
The return value is the filename to save as, including the full path.
ALoads a bitmap from the file name$ (in the current directory if no other is specified). If the file contains more than one bitmap, then index& specifies which bitmap to load. The first (or only) bitmap is specified by index& having the value 0. The value returned is the ID of the open bitmap, which may be used to refer to it when calling sprite procedures or when using gBUTTON, for example.
See BITMAPUNLOAD:.
#AUnloads the bitmap whose ID is id&. You can call BITMAPUNLOAD: immediately after passing the bitmap ID to gBUTTON or, if used with the Sprite OPX procedures, after drawing the sprite, as the access count on a bitmap is incremented to ensure it is not unloaded prematurely.
See BITMAPLOAD&:.
AInitialises a sprite in the window given by winId% with its top left-hand corner at x&,y&. The value of flags& determines whether or not the sprite
s members are flashing. If (flags& AND 1)=1 then they are flashing and if the value is 0 then they are not. The value returned is the ID of the sprite which should be used when referring to it in other sprite procedures.
See SPRITEAPPEND:, SPRITECHANGE:, SPRITEDRAW:, SPRITEPOS:, SPRITEDELETE:, SPRITEUSE:.
5CAppends members or frames to the current sprite, which must have been created using CREATESPRITE&: before attempting to append to it. bitmap& is the ID of the bitmap to be used for this member of the sprite, and maskBitmap& is the ID of the bitmap to be used as a mask. The bitmap and mask must be of identical sizes. invertMask& takes the value of 1 or 0 to determine whether the mask is to be inverted or not respectively. For example, if you are using identical bitmap and mask and invertMask&=1 then the member will appear as the bitmap, whereas if invertMask&=0, the member will be blank. time& is the period of time in microseconds for which the member appears in the sprite and dx&,dy& is the offset position of the top left-hand of the bitmap from the top left-hand corner of the sprite.
See SPRITECHANGE:.
DChanges a member of a sprite originally set up with SPRITEAPPEND.
id& specifies the number of the sprite member which is to be changed. This number is determined by the order in which the members were originally appended, the first member to be appended being labelled 0. bitmap& is the ID of the bitmap to be used for this member of the sprite, and maskBitmap& is the ID of the bitmap to be used as a mask. The bitmap and mask must be of identical sizes. invertMask& takes the value of 1 or 0 to determine whether the mask is to be inverted or not respectively. For example, if you are using identical bitmap and mask and invertMask&=1 then the member will appear as the bitmap, whereas if invertMask&=0, the member will be blank. time& is the period of time in microseconds for which the member appears in the sprite and dx&,dy& is the offset position of the top left-hand of the bitmap from the top left-hand corner of the sprite.
A sprite may not be changed unless it has already been drawn.
See SPRITEAPPEND:, SPRITEDRAW:.
IRDADISCONNECT: _System
IRDADISCONNECT:,
MAINBATTERYSTATUS&: _System
MAINBATTERYSTATUS&:
Returns the current power of the main batteries. The following possible return values are supplied as constants in System.oxh:
CONST KBatteryZero& =0
CONST KBatteryVeryLow& =1
CONST KBatteryLow& =2
CONST KBatteryGood& =3
BACKUPBATTERYSTATUS&: _System
BACKUPBATTERYSTATUS&:
Returns the current power of the backup batteries. The following possible return values are supplied as constants in System.oxh:
Returns the graphics mode of the bitmap with ID id&. The graphics mode is that specified at its creation (see gCREATEBIT), i.e. 0 for 2-colour mode, 1 for 4-colour mode and 2 for 16-colour mode.
WADraws the sprite once it has been set up. It need only be called once, and any changes made to the sprite are made as soon as the procedure making the change is called. The sprite will be drawn in the window and at the position specified by the arguments passed to SPRITECREATE.
See SPRITECREATE&:, SPRITEAPPEND:, SPRITECHANGE:, SPRITEPOS:.
FAdds the field, field$, to the key, key& (see DBNEWKEY&: for creating a new key). This new key can then be used to create an index on a table. order& specifies how this field should be ordered:
value meaning constant declaration in Dbase.oxh
1 ascending CONST KDbAscending&=1
0 descending CONST KDbDescending&=1
You can use this procedure repeatedly to add more than one field to the same key. The order in which the fields are added dictates the significance of these fields in building up the index. The first field added to a key is the primary field; if there were any identical values in this field then the secondary field would be used and so on. For example, if the primary field in an
Address
table was
Surname
and there were two people with the surname Brown, then the secondary field or tertiary fields like
Forename
and
might be used to define how the index will be ordered.
When using string fields in an index they cannot be longer than 240 bytes. To limit the size of a string field see CREATE in the
Alphabetic Listing
chapter. If a string field is the last field in a key (or first and only) then it may be truncated to a specified length - see DBADDFIELDTRUNC:.
Note that the size of an index can become huge if the key is long. The key length k is the length in bytes of the sum of all the fields in the key. An integer or a long integer field is 4 bytes, a floating-point field 8 bytes and a text field depends on the length assigned to it (see also the previous paragraph). The size of the index depends at least linearly on k and hence may be large if the key is long.
When the key has been built as required, it can be used to create an index.
See DBCREATEINDEX:.
BAdds a truncated string field field$ to the key key&. Only the last field added to a key (or first and only) can be truncated. order& specifies how this field should be ordered and may take the values:
value meaning constant declaration in Dbase.oxh
1 ascending CONST KDbAscending&=1
0 descending CONST KDbDescending&=1
trunc& is the truncation length and determines how many bytes of the string field will be used in building up the index (up to 240).
This procedure is useful for building up indexes on OPL16 databases whose string fields have a set length of 255 bytes. When the key has been built up as required it can be used to create an index.
See DBADDFIELD:, DBCREATEINDEX:.
,BCreates an index with the name index$ on the table table$ in the database file$. The index is used for sorting and vastly increases the speed in table lookup. The index is based on key&, the supplied key. The database must be closed when this procedure is used.
The opening of an ordered view on a table must be requested in the SQL query in the OPEN command. See Appendix F for SQL specification. If a suitable index has been created then it will be used.
(AReturns 1 if the database dbase$ considers that it may have damaged indexes and 0 if not. If the database is damaged, then this does not make it unusable, but attempting to use any damaged index will result in an error. Recovering the database will restore any damaged indexes.
See DBRECOVER:.
#AThe text comparison is used to determine the order of an index. The argument comp& sets the text comparison mode of a key key&, and takes one of the constant values supplied in the header file Dbase.oxh:
CONST KDbCompareNormal& =0
CONST KDbCompareFolded & =1
CONST KDbCompareCollated& =2
-BSends a special character, for example line and page breaks etc., to the printer. Constants for special characters are defined in Const.oph (see the
Calling Procedures
chapter for details of how to use this file and Appendix E for a listing of it) as follows:
CONST KParagraphDelimiter%=$06
CONST KLineBreak%=$07
CONST KPageBreak%=$08
CONST KTabCharacter%=$09
CONST KNonBreakingTab%=$0a
CONST KNonBreakingHyphen%=$0b
CONST KPotentialHyphen%=$0c
CONST KNonBreakingSpace%=$10
CONST KVisibleSpaceCharacter%=$0f
See SENDNEWPARATOPRINTER:, INSERTSPECIALCHAR:.
ASets alignment state of a paragraph. Default is KPrintLeftAlign%.
The setting does not take effect until either SETLOCALPARAFORMAT: or SETGLOBALPARAFORMAT: is called. The allowable alignments, defined in Printer.oxh, are:
Sets a state for formatting. The setting does not take effect until either SETLOCALPARAFORMAT or SETGLOBALPARAFORMAT is called.
Red%,Green%,Blue% set the background colour. Each value can be in the range 0 to 255. Default colour is white, with all three arguments equal to 255.
LeftMarginInTwips& sets left text margin relative to left page margin. Default is zero.
RightMarginInTwips& sets right text margin, relative to right page margin. Default is zero.
IndentInTwips& sets left, right and first line indent. Default is zero.
HorizontalAlignment% sets horizontal alignment of paragraph. Default is left alignment. See SETALIGNMENT for values.
VerticalAlignment% sets vertical alignment of paragraph (for use by spreadsheet applications). Default is top alignment. Allowable values, supplied in Printer.oxh, are:
CONST KPrintTopAlign% = 0
CONST KPrintBottomAlign% = 2
CONST KPrintUnspecifiedAlign% = 4
LineSpacingInTwips& sets inter-line spacing in twips. Default is 200 (10 point).
LineSpacingControl% sets the control for LineSpacingInTwips& value. Default is KLineSpacingAtLeastInTwips&. Allowable values are:
CONST KLineSpacingAtLeastInTwips% = 0
CONST KLineSpacingExactlyInTwips% = 1
SpaceBeforeInTwips& sets the space above a paragraph. Default is zero.
SpaceAfterInTwips& sets the space below a paragraph. Default is zero.
KeepTogether% prevents a page break within paragraph when KTrue%. Default is KFalse%. (Constants are defined in Const.oph.)
KeepWithNext% prevents a page break between this paragraph and the following paragraph when KTrue%. Default is KFalse%.
StartNewPage% inserts a page break immediately before this paragraph when KTrue%. Default is KFalse%.
WidowOrphan% prevents the printing of the last line of a paragraph by itself on the top of a new page (widow) or the first line of a paragraph by itself on the bottom of the page (orphan). Default is KFalse%.
Wrap% forces the paragraph to line wrap at the right margin when KTrue%. KFalse% disables line wrap. Default is KTrue%.
BorderMarginInTwips& sets distance in twips between paragraph border and enclosed text (must be non-negative). Default is zero.
DefaultTabWidthInTwips& specifies the spacing between the default tab stops. Default is 360.
+ASets font position as normal, superscript or subscript. The following constants can be used for this:
CONST KPrintPosNormal% = 0
CONST KPrintPosSuperscript% = 1
CONST KPrintPosSubscript% = 2
Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
DBRECOVER: _Dbase
DBRECOVER:(dbase$)VRecovers a damaged database dbase$, restoring any damaged indices.
See DBISDAMAGED&:.
DBSETCOMPARISON: _Dbase
DBSETCOMPARISON:(key&,comp&)@
SENDSTRINGTOPRINTER: _Printer
SENDSTRINGTOPRINTER:(string$)lAppend a string to whatever has already been sent to the printer.
See INSERTSTRING:, SENDNEWPARATOPRINTER:.
INSERTSTRING: _Printer
INSERTSTRING:(string$,pos&)
Insert string$ at position pos& in the buffer. Inserting at position zero puts the string ahead of anything already sent or inserted.
See SENDSTRINGTOPRINTER:, INSERTNEWPARA:.
SENDNEWPARATOPRINTER: _Printer
SENDNEWPARATOPRINTER:
Paragraphs delimit paragraph formatting, such as centring. This procedure is equivalent to
SENDSPECIALCHARTOPRINTER:(KParagraphDelimiter%).
See SENDSPECIALCHARTOPRINTER:, INSERTNEWPARA:, SENDSTRINGTOPRINTER:.
INSERTNEWPARA: _Printer
INSERTNEWPARA:(pos&)bInserts a new paragraph at position pos& in the buffer.
s auto switch off timer, restarting its count down to switching off.
SWITCHOFF: _System
SWITCHOFF:
Switches off the machine.
As with the keyword OFF, you should be careful not to use SWITCHOFF: in a loop. If you do, it may be impossible to switch the Series 5 back on, and you may then have to reset it.
SETSOUNDENABLED: _System
SETSOUNDENABLED:(state&)DEnables the machine
s sound if state&=1 or disables it if state&=0.
SETSOUNDDRIVERENABLED: _System
SETSOUNDDRIVERENABLED:(state&)FSwitches the machines sound driver on if state&=1 or off if state&=0.
SETKEYCLICKENABLED: _System
SETKEYCLICKENABLED:(state&)iDetermines whether or not a keypress makes a click. state&=1 enables the click and state&=0 disables it.
SETPOINTERCLICKENABLED: _System
SETPOINTERCLICKENABLED:(state&)
Determines whether or not a pointer event makes a click. (A pointer event occurs whenever the machine
s screen is pressed.) state&=1 enables the click and state&=0 disables it.
Arial
MAXDISPLAYCONTRAST&: _System!maxContrast&=MAXDISPLAYCONTRAST&:fReturns the maximum value to which the machines display contrast can be set.
See SETDISPLAYCONTRAST:.
ISREADONLY&: _System
readOnly&=ISREADONLY&:(file$)HReturns -1 if the file, file$, is a read-only file and 0 if it is not.
ISHIDDEN&: _System
hidden&=ISHIDDEN&:(file$)KReturns -1 if the file, file$, is hidden by the system and 0 if it is not.
ISSYTEM&: _System
system&=ISSYTEM&:(file$)DReturns -1 if the file, file$, is a system file and 0 if it is not.
nCReturns the type of the field whose number is fieldNum& in the table table$ of the database dbase$. This is useful for analysing the records of a table.
The values that me be returned (many of which aren
t supported by OPL databases), are as follows:
value type
0 bit
1 signed byte (8 bits)
2 unsigned byte (8 bits)
3 integer (16 bits)
4 unsigned integer (16 bits)
5 long integer (32 bits)
6 unsigned long integer (32 bits)
7 64-bit integer
8 single precision floating-point number (32 bits)
9 double precision floating-point number (64 bits)
10 date/time object
11 ASCII text
12 Unicode text
13 Binary
14 LongText8
15 LongText16
16 LongBinary
Types 3,5,9,11 correspond to OPL
s %,&, floating point and $ types respectively.
See DBGETFIELDCOUNT&, DBGETFIELDNAME&
Note: the numbers in the official doc are wrong and have been changed here
EDBITMAP:.
SETFONTWEIGHT: _Printer
SETFONTWEIGHT:(weight%)
Sets the font weight (normal or bold). Allowable values are:
CONST KStrokeWeightNormal% = 0
CONST KStrokeWeightBold% = 1
Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
SETFONTPOSTURE: _Printer
SETFONTPOSTURE:(posture%)
Sets font posture using the following constants:
CONST KPostureUpright% = 0
CONST KPostureItalic% = 1
Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
Inserts a bitmap specified by bitmapHandle& at position pos& in the buffer to be sent to the printer. The handle is the same as that returned by gLOADBIT.
Inserts a scaled bitmap specified by bitmapHandle& and scaled according to xScale& and yScale& at position pos& in the buffer sent to the printer. The handle is the same as that returned by gLOADBIT.
See INSERTBITMAP:, SENDSCALEDBITMAPTOPRINTER:.
PRINTERDOCLENGTH&: _Printer
PRINTERDOCLENGTH&:
Returns the count of characters currently held in the buffer. It is not possible to insert characters beyond the length of the document buffer. Bitmaps and special characters each count as one character.
Sends the address of a rich text object richTextAddress& to the printer. This is intended to be used on a pointer returned by another OPX. This new Rich Text will replace all content currently stored.
RESETPRINTING: _Printer
RESETPRINTING:ADeletes all text, bitmaps and formatting in the printing buffer.
PAGESETUPDIALOG: _Printer
PAGESETUPDIALOG:`Calls the standard page setup dialog.
See PRINTPREVIEWDIALOG:, PRINTRANGEDIALOG:, PRINTDIALOG:.
PRINTPREVIEWDIALOG: _Printer
PRINTPREVIEWDIALOG:
Calls the standard print preview dialog. This allows the data sent to the printer to be viewed. The other three dialogs can all be called from this dialog.
See PAGESETUPDIALOG:, PRINTRANGEDIALOG:, PRINTDIALOG:.
PRINTRANGEDIALOG: _Printer
PRINTRANGEDIALOG:^Calls a standard print range dialog.
See PAGESETUPDIALOG:, PRINTPREVIEWDIALOG:, PRINTDIALOG:.
SPRITEDRAW: _Bmp
SPRITEDRAW:9
SPRITEPOS: _Bmp
SPRITEPOS:(x&,y&)`Repositions the whole of the current sprite to the point x&,y&.
See SPRITECREATE&:,SPRITEDRAW:.
SPRITEDELETE: _Bmp
SPRITEDELETE:(id&) Deletes the sprite with ID id&.
SPRITEUSE: _Bmp
SPRITEUSE:(id&)oSets the current sprite to be that with ID id& in order that it may be changed.
Deletes the key key&. This should be called as soon as the key is no longer required. Any keys left undeleted when all modules that declare or include a declaration of the Dbase OPX have been unloaded will be automatically deleted
Returns the number of fields in one of the records in the table table$ of the database dbase$. This number can then be used to analyse the contents of the record.
Returns the name of the field whose number is fieldNum& in the table table$ of the database dbase$. This is useful for analysing the records of a table.
i&=DBISUNIQUE&:(key&)KReturns -1 if the key key& is unique or 0 if it is not.
See DBMAKEUNIQUE:.
DBMAKEUNIQUE: _Dbase
DBMAKEUNIQUE:(key&)
Sets the key key& to be unique. The index created will then not allow any records to be added if they exactly match the indexed fields of another record.
See DBNEWKEY:, DBADDFIELD:, DBCREATEINDEX:.
DBNEWKEY&: _Dbase
k&=NEWKEY&:
Returns a handle to a key which can be used for creating indexes.
See DBDELETEKEY:, DBCREATEINDEX:, DBADDFIELD:, DBADDFIELDTRUNC:.
Deletes the date/time object with handle id&. This should be called when a date/time object is no longer needed. Date/time objects will be deleted automatically on unloading the Date OPX or the module which uses it.
See DTNEWDATETIME&:, DTNOW&:.
DTYEAR&: _Date
y&=DTYEAR&:(id&)lReturns the year component y& which is stored in the date/time object with handle id&.
See DTNEWDATETIME&:.
DTMONTH&: _Date
m&=DTMONTH&:(id&)mReturns the month component m& which is stored in the date/time object with handle id&.
See DTNEWDATETIME&:.
DTDAY&: _Date
day&=DTDAY&:(id&)mReturns the day component day& which is stored in the date/time object with handle id&.
See DTNEWDATETIME&:.
DTHOUR&: _Date
h&=DTHOUR&:(id&)kReturns the hour component h& which is stored in the date/time object with handle id&.
See DTNEWDATETIME&:
IRDADISCONNECT: _System
LCSTARTOFWEEK&: _Date
READRSC$: _System
SAVEASFILEDIALOG$: _System
DTIsLeapYear&:(year&) _SysRAM1
DTMINUTE&: _Date
DTNEWDATETIME&: _Date
DTSETMICRO: _Date
SETBACKLIGHTON: _System
SETFILETIME: _System
SETFONTPOSTURE: _Printer
SETFOREGROUND: _System
RESETAUTOSWITCHOFFTIMER: _System
RomVersionMajor&: _SysRAM1
RomVersionMinor&:
RomVersionBuild&:
SENDNEWPARATOPRINTER: _Printer
SENDSTRINGTOPRINTER: _Printer
SETKEYCLICKENABLED: _System
SETPOINTERGRABON: _System
SPRITECHANGE: _Bmp
SPRITEDRAW: _Bmp
SWITCHOFF: _System
VOLUMESIZE&: _System
IRDAWRITE: _System
ISSYTEM&: _System
@LCAmPmSpaceBetween&: _SysRAM1
LCDECIMALSEPARATOR$: _Date
DBGETFIELDNAME$: _Dbase
DBMAKEUNIQUE: _Dbase
DISPLAYTASKLIST: _System
DTDAYNOINYEAR&: _Date
LOGONTOTHREAD: _System
MAXDISPLAYCONTRAST&: _System
OsVersionMajor&: _SysRam1
OsVersionMinor&:
OsVersionBuild&:
PRINTDIALOG: _Printer
DTSETMICRO: _Date
DTSETYEAR: _Date
ENDTASK&: _System
GetFileSize&:(file$) _SysRAM1
SENDNEWPARATOPRINTER: _Printer
SENDSTRINGTOPRINTER: _Printer
SETGLOBALCHARFORMAT: _Printer
SETSYSTEMFILE: _System
INITIALISEPARAFORMAT: _Printer
INSERTSPECIALCHAR: _Printer
DTDAY&: _Date
DTDAYNOINYEAR&: _Date
DTSETDAY: _Date
DTSETMONTH: _Date
PRINTDIALOG: _Printer
PRINTDIALOG:]Calls a standard print dialog.
See PAGESETUPDIALOG:, PRINTPREVIEWDIALOG:, PRINTRANGEDIALOG:.
SENDBUFFERTOPRINTER: _Printer
SENDBUFFERTOPRINTER:(addr&)
Appends the contents of a buffer to whatever has already been sent to the printer. The addr& parameter should be the address of a buffer into which text has been inserted by dEDITMULTI.
SETDISPLAYCONTRAST: _system6
Arial
SETDISPLAYCONTRAST:(value&)=
Courier
Sets the contrast on the machine
s screen. value& specifies the contrast value, which can be between zero and the maximum display contrast.
See MAXDISPLAYCONTRAST&:.
Arial
Arial
Syntax of OPX by PsionxAvailable, along with other doc in DATA, at
http://www.knoware.nl/users/wsmout/s5doc.html
comments to wsmout@knoware.nl
1DDbFind&:(string$) _SysRAM1
DbFindField&:(string$,start&,num&,flags&)
These two find functions replace the language keywords Find and FindField
as they contained bugs when searching for large strings (or small strings
Finds the thread Id of an application by its caption (as specified for OPL32
apps in the APP...ENDA construct). This will allow OPL32 apps to properly handle help
files (details to follow). See GetThreadIdfromOpenDoc of system OPX for more info on usage.
ExternalPower&: _SysRam1=Returns -1 if external power (mains) is present or 0 if not.
1'LCNearestLanguageFile$:(file$) _SysRam1
The last two characters of the filename SUPPLIED are replaced with the language code if such a file exists, otherwise the name is left unchanged.
LCLanguage&: _SysRAM1QReturns the mahines language code (language codes are specified in OPL32 manual)
1;OsVersionMajor&: _SysRam1
OsVersionMinor&:
OsVersionBuild&:<Return major minor and build of numbers for the OS versions
1>RomVersionMajor&: _SysRAM1
RomVersionMinor&:
RomVersionBuild&:=Return major minor and build of numbers for the ROM versions
GetFileSize&:(file$) _SysRAM17Returns the size in bytes of the supplied file, file$.
18DTDayNameFull$:(Day&) _SysRAM1
DTMonthNameFull$:(Month&)
Return full day and month names, the arguments correspond to the Language keywords DAYNAME$ and MONTH$ which return day and month name abbreviations.
DTIsLeapYear&:(year&) _SysRAM15Returns -1 if year& is a leap year or 0 if it isn't.
1<LCDateSeparator$:(index&) _SysRAM1
LCTimeSeparator$:(index&)
These procedures return the local date and time seperators. Index& can be between 0 and 3 inclusive and corresponds to the position of the separator, as follows;
0 day 1 month 2 year 3
The numbers are index&.
Arial
Courier
Arial
PRINTDIALOG: _Printer
PRINTDIALOG:]Calls a standard print dialog.
See PAGESETUPDIALOG:, PRINTPREVIEWDIALOG:, PRINTRANGEDIALOG:.
SENDBUFFERTOPRINTER: _Printer
SENDBUFFERTOPRINTER:(addr&)
Appends the contents of a buffer to whatever has already been sent to the printer. The addr& parameter should be the address of a buffer into which text has been inserted by dEDITMULTI.
SETDISPLAYCONTRAST: _system6
Arial
SETDISPLAYCONTRAST:(value&)=
Courier
Sets the contrast on the machine
s screen. value& specifies the contrast value, which can be between zero and the maximum display contrast.
See MAXDISPLAYCONTRAST&:.
Arial
Arial
Syntax of OPX by Psion
vs 1 01-08-98xAvailable, along with other doc in DATA, at
http://www.knoware.nl/users/wsmout/s5doc.html
comments to wsmout@knoware.nl
1DDbFind&:(string$) _SysRAM1
DbFindField&:(string$,start&,num&,flags&)
These two find functions replace the language keywords Find and FindField
as they contained bugs when searching for large strings (or small strings
Finds the thread Id of an application by its caption (as specified for OPL32
apps in the APP...ENDA construct). This will allow OPL32 apps to properly handle help
files (details to follow). See GetThreadIdfromOpenDoc of system OPX for more info on usage.
ExternalPower&: _SysRam1=Returns -1 if external power (mains) is present or 0 if not.
1'LCNearestLanguageFile$:(file$) _SysRam1
The last two characters of the filename SUPPLIED are replaced with the language code if such a file exists, otherwise the name is left unchanged.
LCLanguage&: _SysRAM1QReturns the mahines language code (language codes are specified in OPL32 manual)
1;OsVersionMajor&: _SysRam1
OsVersionMinor&:
OsVersionBuild&:<Return major minor and build of numbers for the OS versions
1>RomVersionMajor&: _SysRAM1
RomVersionMinor&:
RomVersionBuild&:=Return major minor and build of numbers for the ROM versions
GetFileSize&:(file$) _SysRAM17Returns the size in bytes of the supplied file, file$.
18DTDayNameFull$:(Day&) _SysRAM1
DTMonthNameFull$:(Month&)
Return full day and month names, the arguments correspond to the Language keywords DAYNAME$ and MONTH$ which return day and month name abbreviations.
DTIsLeapYear&:(year&) _SysRAM15Returns -1 if year& is a leap year or 0 if it isn't.
1<LCDateSeparator$:(index&) _SysRAM1
LCTimeSeparator$:(index&)
These procedures return the local date and time seperators. Index& can be between 0 and 3 inclusive and corresponds to the position of the separator, as follows;
0 day 1 month 2 year 3
The numbers are index&.
PRINTDIALOG: _Printer
PRINTDIALOG:]Calls a standard print dialog.
See PAGESETUPDIALOG:, PRINTPREVIEWDIALOG:, PRINTRANGEDIALOG:.
SENDBUFFERTOPRINTER: _Printer
SENDBUFFERTOPRINTER:(addr&)
Appends the contents of a buffer to whatever has already been sent to the printer. The addr& parameter should be the address of a buffer into which text has been inserted by dEDITMULTI.
SETDISPLAYCONTRAST: _system6
Arial
SETDISPLAYCONTRAST:(value&)=
Courier
Sets the contrast on the machine
s screen. value& specifies the contrast value, which can be between zero and the maximum display contrast.
See MAXDISPLAYCONTRAST&:.
Arial
Arial
Syntax of OPX-files from Psion
vs 1 01-08-98xAvailable, along with other doc in DATA, at
http://www.knoware.nl/users/wsmout/s5doc.html
comments to wsmout@knoware.nl
1DDbFind&:(string$) _SysRAM1
DbFindField&:(string$,start&,num&,flags&)
These two find functions replace the language keywords Find and FindField
as they contained bugs when searching for large strings (or small strings
Finds the thread Id of an application by its caption (as specified for OPL32
apps in the APP...ENDA construct). This will allow OPL32 apps to properly handle help
files (details to follow). See GetThreadIdfromOpenDoc of system OPX for more info on usage.
ExternalPower&: _SysRam1=Returns -1 if external power (mains) is present or 0 if not.
1'LCNearestLanguageFile$:(file$) _SysRam1
The last two characters of the filename SUPPLIED are replaced with the language code if such a file exists, otherwise the name is left unchanged.
LCLanguage&: _SysRAM1QReturns the mahines language code (language codes are specified in OPL32 manual)
1;OsVersionMajor&: _SysRam1
OsVersionMinor&:
OsVersionBuild&:<Return major minor and build of numbers for the OS versions
1>RomVersionMajor&: _SysRAM1
RomVersionMinor&:
RomVersionBuild&:=Return major minor and build of numbers for the ROM versions
GetFileSize&:(file$) _SysRAM17Returns the size in bytes of the supplied file, file$.
18DTDayNameFull$:(Day&) _SysRAM1
DTMonthNameFull$:(Month&)
Return full day and month names, the arguments correspond to the Language keywords DAYNAME$ and MONTH$ which return day and month name abbreviations.
DTIsLeapYear&:(year&) _SysRAM15Returns -1 if year& is a leap year or 0 if it isn't.
1<LCDateSeparator$:(index&) _SysRAM1
LCTimeSeparator$:(index&)
These procedures return the local date and time seperators. Index& can be between 0 and 3 inclusive and corresponds to the position of the separator, as follows;